/**
 * 
 */
package mdb.com.vn.model;

/**
 * @author tu.dod
 *
 */
import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

import java.io.Serializable;
import java.util.Date;

/**
 * This class is an abstract super class for all Entity classes in the
 * application. This class defines variables which are common for all entity
 * classes.
 */
@MappedSuperclass
public abstract class BasePojo implements Serializable {

    private static final long serialVersionUID = 4971533902749753146L;

    
	@Column(name="BRANCH_CODE")
	private String branchCode;


	@Column(name="CUSTOMER_ID")
	private String customerId;

	@Column(name="CUSTOMER_NAME")
	private String customerName;
	
	@Column(name="CUSTOMER_TYPE")
	private int customerType;
    
	@Column(name="LUCKY_DRAW")
	private int luckyDraw;
	
	@Column(name="SC_CARD")
	private int scCard;
	
	@Column(name="BAG_GIFT")
	private int bagGift;
	
	@Column(name="TRAY_GIFT")
	private int trayGift;
	
	@Column(name="VOUCHER_GIFT")
	private int voucherGift;
	
	@Column(name="VOUCHER_GIFT_MORE")
	private int voucherGiftMore;
	
	@Column(name="SC_CARD_NOTGET")
	private int scCardNotGet;
	
	@Column(name="SC_CARD_AMT_NOT")
	private double scCardAmtNot;
	
	@Column(name="ISGET_BGIFT")
	private boolean checkGetBGift;
	
	@Column(name="ISGET_TGIFT")
	private boolean checkGetTGift;
	
	@Column(name="ISGET_VGIFT")
	private boolean checkGetVGift;
	
	@Column(name="SC_CARD_AMT")
	private double scCardAmt;
	
	@Column(name="ISGET_THANKSC")
	private int checkGetThankSC;
	
	@Column(name="BGIFT_RECEIVED")
	private int bgiftReceived;
	
	@Column(name="TGIFT_RECEIVED")
	private int tgiftReceived;
	
	
    @Column(name = "VERSION_NUM")
    @Version
    protected Long version;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "DATE_CREATED")
    protected Date dateCreated;

    @Column(name = "CREATED_BY", length = 50)
    protected String createdBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "DATE_UPDATED")
    protected Date dateUpdated;

    @Column(name = "UPDATED_BY", length = 50)
    protected String updatedBy;

    /**
     * Get the date created for this entity. The date created is the timestamp
     * for when the entity was created.
     *
     * @return time stamp for creation date & time
     */
    public Date getDateCreated() {
        return dateCreated;
    }

    /**
     * Set the date created for the entity. This method should be called
     * automatically and not by the end user code
     *
     * @param dateCreated date created
     */
    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    /**
     * Get the user who created this entity.
     *
     * @return user who created the entity
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * Set the user who created the entity. This method should be called
     * automatically and not by the end user code
     *
     * @param createdBy user who created the entity
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * Get the date of the last update to the entity.
     * The date updated is the time stamp for when the entity
     * last updated.
     *
     * @return date updated
     */
    public Date getDateUpdated() {
        return dateUpdated;
    }

    /**
     * Set the last update date for the entity. This method should be called
     * automatically and not by the end user code.
     *
     * @param dateUpdated date updated
     */
    public void setDateUpdated(Date dateUpdated) {
        this.dateUpdated = dateUpdated;
    }


    /**
     * Get the user who last updated this entity.
     *
     * @return user who last updated this entity
     */
    public String getUpdatedBy() {
        return updatedBy;
    }

    /**
     * Set the user who last updated the entity. This method should be called
     * automatically and not by the end user code.
     *
     * @param updatedBy user who last updated this entity.
     */
    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    /**
     * Get the concurrency version number for this entity. The concurrency
     * version is a number which is used for optimistic locking in the database.
     *
     * @return current consistency version
     */
    public Long getVersion() {
        return version;
    }

    
    
    public String getBranchCode() {
		return branchCode;
	}

	public void setBranchCode(String branchCode) {
		this.branchCode = branchCode;
	}

	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public int getCustomerType() {
		return customerType;
	}

	public void setCustomerType(int customerType) {
		this.customerType = customerType;
	}

	
	public int getLuckyDraw() {
		return luckyDraw;
	}

	public void setLuckyDraw(int luckyDraw) {
		this.luckyDraw = luckyDraw;
	}
	
	
	

	public int getBagGift() {
		return bagGift;
	}

	public void setBagGift(int bagGift) {
		this.bagGift = bagGift;
	}

	public int getTrayGift() {
		return trayGift;
	}

	public void setTrayGift(int trayGift) {
		this.trayGift = trayGift;
	}

	public int getVoucherGift() {
		return voucherGift;
	}

	public void setVoucherGift(int voucherGift) {
		this.voucherGift = voucherGift;
	}

	public int getVoucherGiftMore() {
		return voucherGiftMore;
	}

	public void setVoucherGiftMore(int voucherGiftMore) {
		this.voucherGiftMore = voucherGiftMore;
	}

	public int getScCardNotGet() {
		return scCardNotGet;
	}

	public void setScCardNotGet(int scCardNotGet) {
		this.scCardNotGet = scCardNotGet;
	}

	public double getScCardAmtNot() {
		return scCardAmtNot;
	}

	public void setScCardAmtNot(double scCardAmtNot) {
		this.scCardAmtNot = scCardAmtNot;
	}

	

	public double getScCardAmt() {
		return scCardAmt;
	}

	public void setScCardAmt(double scCardAmt) {
		this.scCardAmt = scCardAmt;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	public int getScCard() {
		return scCard;
	}

	public void setScCard(int scCard) {
		this.scCard = scCard;
	}
	
	

	public boolean isCheckGetBGift() {
		return checkGetBGift;
	}

	public void setCheckGetBGift(boolean checkGetBGift) {
		this.checkGetBGift = checkGetBGift;
	}

	public boolean isCheckGetTGift() {
		return checkGetTGift;
	}

	public void setCheckGetTGift(boolean checkGetTGift) {
		this.checkGetTGift = checkGetTGift;
	}

	public boolean isCheckGetVGift() {
		return checkGetVGift;
	}

	public void setCheckGetVGift(boolean checkGetVGift) {
		this.checkGetVGift = checkGetVGift;
	}


	

	public int getCheckGetThankSC() {
		return checkGetThankSC;
	}

	public void setCheckGetThankSC(int checkGetThankSC) {
		this.checkGetThankSC = checkGetThankSC;
	}

	public int getBgiftReceived() {
		return bgiftReceived;
	}

	public void setBgiftReceived(int bgiftReceived) {
		this.bgiftReceived = bgiftReceived;
	}

	public int getTgiftReceived() {
		return tgiftReceived;
	}

	public void setTgiftReceived(int tgiftReceived) {
		this.tgiftReceived = tgiftReceived;
	}

	@Override
    public int hashCode() {
        return 1;
    }

    @Override
	public boolean equals(Object obj) {
        return (obj != null);
	}

}
